Aims and Hypotheses

Hypothesis 1: Discordance is a relatively common, yet under appreciated phenomenon, and varies by geographic location of care and patient attributes including demographics, severity of illness, and underlying disease process.

Hypothesis 2: Discordance between aPTT and anti-Xa indicates the presence of coagulation system pathophysiology which is a risk factor for development of hemorrhage and thrombosis.

Classic systemic anticoagulation goals, anti-Xa vs aPTT, at NYP:

Typical anti-Xa goal vs aPTT goals among heparinized ECMO patients:

Methods:

Only first ECMO run used.

ECMO duration: Dr. Connie Nguyen manually reviewed heparin-exposed patients’ EMRs in June 2025 to identify true ECMO time off, as initial data review identified some labs that were drawn while on heparin but after the patient was off ECMO. The variable “time_off” in the original data was obtained from ELSO sources. Per Dr. Nguyen’s review, if her evaluation of ECMO stop time was within 4 hours of ELSO-derived time_off, then the actual true time off was deemed as that known by ELSO. If there was a greater than 4 hour discrepancy, a new time_off_true value was recorded.

Lab cutoffs:

Hyperbilirubinemia can artifactually elevate anti-Xa (colorimetric assay). Jaundice threshold is 2 - 3 mg/dL total bilirubin. Upper limit of normal total bilirubin at NYP-CUIMC is 1.2 mg/dL.

Bilirubin is measured in separate tubes compared to aPTT, anti-Xa, INR, and fibrinogen. As hyperbilirubinemia can impact assessment of anti-Xa but also may not change rapidly from one moment to another, we accounted for total bilirubin by computing the nearest_bilirubin value within 24 hours of any aPTT. (aPTT chosen as it was the most frequently measured coagulation lab).

COMPLICATIONS: all complications reviewed were documented during ECMO duration, with exception of clinically significant bleeding and thrombotic complications which were manually assessed by Connie and Phil as follows:

Tidy Data, Heparin exposed

count of distinct MRNs of patients exposed to heparin TOTAL
n
165
counts of MRNs of patients exposed to heparin by location TOTAL - these do not all have anti-Xa and aPTT matched pairs FYI; counts between distinct MRNs and department_name may not match as some patients move between departments
department_name n
MIL 5 CTICU 76
MIL 5 CCU 41
MIL 4 MICU A 31
HRT CARDIAC CARE 25
MIL OPERATING ROOM 5
MIL 4 SICU 1
MIL CARDIAC CATH 1
GBG 4 W CT ICU 1

count of distinct MRNs of patients exposed to heparin who have TIME-MATCHED anti-Xa and aPTT pairs
n
113
counts of distinct MRNs by location of patients exposed to heparin who have TIME-MATCHED anti-Xa and aPTT pairs; counts between distinct MRNs and department_name may not match as some patients move between departments
department_name n
MIL 5 CTICU 56
MIL 5 CCU 31
HRT CARDIAC CARE 22
MIL 4 MICU A 6
MIL 4 SICU 1
MIL OPERATING ROOM 1
MIL CARDIAC CATH 1
GBG 4 W CT ICU 1

## # A tibble: 1 × 1
##   correlation
##         <dbl>
## 1       0.740

Polynomial Fitting

This fits a second degree polynomial on aPTT and accounts for repeated measures per patient (i.e. multiple labs per individual patient) by including a random intercept for each patient. This is important as the repeated measures per patient are not independent - the labs are dependent on the baseline values (and the baseline anti-Xa between patients who have the same aPTT may not be the same, or vice versa).

97.5% prediction interval chosen to balance sensitivity and specificity.

## Warning in geom_point(data = model_fit_data, aes(x =
## activated_partial_thromboplastin_time, : Ignoring unknown aesthetics: text
list of MRNs with aPTT > antiXa
x
1001491594
1006905710
1007129753
1010147999
1011043983
1011077110
1100547209
1400032239
1400969240
1401183967
1401327774
1401639110
list of MRNs with aPTT < antiXa
x
1001491594
1003642179
1009544965
1010696012
1101397979
1102216636
1201555171
1401554006
1401591974
1401611898
1401689750
1401696145
1401697961
1401707171
1401796928
1401848048
1401991907
## Adding missing grouping variables: `mrn`, `lab_result_time`
aPTT > antiXa, time-matched pairs
mrn lab_result_time activated_partial_thromboplastin_time heparin_assay_quantitative
1001491594 2024-08-24 22:45:00 96.9 0.36
1006905710 2024-10-10 18:02:00 71.3 0.07
1006905710 2024-10-11 06:23:00 56.2 0.16
1007129753 2024-04-13 18:00:00 45.2 0.10
1010147999 2024-02-20 18:35:00 60.3 0.10
1010147999 2024-02-21 12:35:00 52.6 0.10
1011043983 2024-06-17 17:05:00 75.4 0.33
1011043983 2024-06-17 22:39:00 93.2 0.37
1011043983 2024-06-18 04:34:00 93.8 0.36
1011043983 2024-06-18 09:40:00 106.5 0.40
1011043983 2024-06-18 16:00:00 103.4 0.43
1011043983 2024-06-18 22:46:00 89.5 0.37
1011043983 2024-06-19 05:51:00 106.0 0.43
1011043983 2024-06-19 11:46:00 122.7 0.46
1011043983 2024-06-20 11:59:00 104.6 0.48
1011077110 2024-05-20 06:06:00 58.1 0.14
1011077110 2024-05-21 06:42:00 70.1 0.23
1100547209 2024-05-02 14:06:00 119.4 0.60
1400032239 2024-03-18 23:46:00 45.6 0.10
1400969240 2024-10-13 23:20:00 39.7 0.05
1401183967 2024-03-30 18:34:00 102.0 0.30
1401327774 2024-11-03 03:56:00 122.1 0.38
1401327774 2024-11-03 11:13:00 94.3 0.38
1401327774 2024-11-03 19:02:00 63.2 0.22
1401639110 2024-08-20 06:59:00 64.4 0.16
## Adding missing grouping variables: `mrn`, `lab_result_time`
## # A tibble: 1 × 2
##   mean_aptt mean_antiXa
##       <dbl>       <dbl>
## 1      82.3       0.283
## Adding missing grouping variables: `mrn`, `lab_result_time`
aPTT < antiXa, time-matched pairs
mrn lab_result_time activated_partial_thromboplastin_time heparin_assay_quantitative
1001491594 2024-08-20 04:09:00 41.8 0.47
1001491594 2024-08-20 10:16:00 55.3 0.59
1001491594 2024-08-20 21:41:00 61.2 0.67
1001491594 2024-08-21 05:17:00 66.8 0.74
1001491594 2024-08-22 09:33:00 46.4 0.43
1003642179 2024-01-12 05:15:00 63.9 0.56
1009544965 2024-01-31 14:58:00 98.6 0.90
1009544965 2024-02-01 01:05:00 92.9 0.80
1009544965 2024-02-01 17:11:00 68.1 0.60
1009544965 2024-02-02 00:55:00 57.2 0.50
1010696012 2024-04-01 03:44:00 44.3 0.40
1010696012 2024-04-01 09:37:00 46.2 0.40
1101397979 2024-02-23 22:03:00 170.7 1.70
1101397979 2024-02-28 12:44:00 55.8 0.50
1102216636 2024-08-29 04:04:00 67.8 0.62
1201555171 2024-10-05 01:13:00 44.3 0.40
1201555171 2024-10-05 12:40:00 56.2 0.63
1201555171 2024-10-05 19:00:00 53.4 0.57
1201555171 2024-10-06 01:07:00 44.7 0.45
1201555171 2024-10-06 06:29:00 38.2 0.34
1401554006 2024-01-15 18:16:00 41.4 0.39
1401554006 2024-01-16 05:37:00 43.8 0.39
1401591974 2024-02-08 03:45:00 70.3 0.70
1401591974 2024-02-10 17:55:00 44.5 0.40
1401591974 2024-02-12 05:09:00 53.4 0.50
1401611898 2024-04-11 20:24:00 46.9 0.40
1401611898 2024-04-12 05:14:00 41.9 0.40
1401611898 2024-04-12 12:44:00 43.7 0.40
1401689750 2024-04-22 05:22:00 60.2 0.60
1401689750 2024-04-23 05:38:00 45.7 0.50
1401689750 2024-04-24 04:17:00 39.8 0.40
1401689750 2024-04-25 04:24:00 39.4 0.40
1401696145 2024-05-07 19:31:00 47.0 0.40
1401697961 2024-04-29 19:21:00 33.8 0.30
1401707171 2024-05-10 19:23:00 39.4 0.50
1401707171 2024-05-11 04:21:00 34.0 0.30
1401707171 2024-05-11 11:42:00 30.7 0.30
1401707171 2024-05-12 07:19:00 34.4 0.40
1401707171 2024-05-12 22:13:00 35.1 0.40
1401707171 2024-05-13 03:56:00 35.5 0.40
1401707171 2024-05-13 21:40:00 28.6 0.30
1401796928 2024-07-25 18:01:00 43.9 0.51
1401848048 2024-09-10 01:40:00 48.4 0.43
1401848048 2024-09-10 06:43:00 53.5 0.50
1401848048 2024-09-10 12:27:00 53.2 0.54
1401991907 2024-12-09 19:11:00 40.2 0.36
1401991907 2024-12-10 00:53:00 40.0 0.37
1401991907 2024-12-10 06:26:00 36.4 0.35
1401991907 2024-12-10 18:34:00 38.6 0.38
## Adding missing grouping variables: `mrn`, `lab_result_time`
## # A tibble: 1 × 2
##   mean_aptt mean_antiXa
##       <dbl>       <dbl>
## 1      51.4       0.500
MRN of patients with both discordance types; n = # of discordance types
mrn n
1001491594 2
## # A tibble: 7 × 3
## # Groups:   lab_result_time, unusual_type [7]
##   lab_result_time     unusual_type      n
##   <dttm>              <fct>         <int>
## 1 2024-08-20 04:09:00 aPTT < antiXa     1
## 2 2024-08-20 10:16:00 aPTT < antiXa     1
## 3 2024-08-20 21:41:00 aPTT < antiXa     1
## 4 2024-08-21 05:17:00 aPTT < antiXa     1
## 5 2024-08-22 09:33:00 aPTT < antiXa     1
## 6 2024-08-23 05:28:00 concordant        1
## 7 2024-08-24 22:45:00 aPTT > antiXa     1

Study ID 5 (MRN 1001491594) had both discordance types (aPTT > antiXa and aPTT < antiXa).

Perhaps it would be worth retaining this patient in the model, as discordance could contribute to hemorrhage and/or thrombosis in separate instances.

count of unusual type lab pairs
unusual_type n
concordant 497
aPTT > antiXa 25
aPTT < antiXa 49

Demographics

name concordant aPTT > antiXa aPTT < antiXa
n_labs 497.00 25.00 49.00
n_patients 106.00 12.00 17.00
median_age 58.00 57.00 51.00
iqr_age 22.00 25.00 23.00
male_pct 65.19 80.00 55.10
median_wt 88.50 75.50 100.00
iqr_wt 29.60 8.40 17.90
median_ht 170.20 175.30 173.00
iqr_ht 15.20 12.90 17.80
median_hours 203.00 102.00 203.00
iqr_hours 229.00 6.00 88.00
cticu_pct 39.84 48.00 10.20
ccu_pct 35.41 4.00 51.02
hrtccu_pct 21.73 44.00 38.78
micu_pct 2.01 0.00 0.00
vv_pct 9.26 8.00 2.04
va_pct 71.23 88.00 81.63
vva_pct 2.41 0.00 0.00
convert_pct 17.10 4.00 16.33
median_flow4 3.10 3.10 3.15
iqr_flow4 0.70 0.10 0.80
median_flow24 3.20 3.50 3.40
iqr_flow24 0.70 0.30 0.70
median_aptt 37.40 89.50 44.70
iqr_aptt 14.90 43.10 16.00
median_antixa 0.19 0.33 0.43
iqr_antixa 0.18 0.24 0.16
median_inr 1.10 1.30 1.20
iqr_inr 0.20 0.45 0.30
median_fibrinogen 506.00 465.00 292.00
iqr_fibrinogen 387.00 50.00 245.00
median_heparin_dose 9.00 9.00 9.00
iqr_heparin_dose 7.00 8.50 6.00
median_nearest_bilirubin 1.10 1.20 0.90
iqr_nearest_bilirubin 1.30 0.60 0.90
variable kruskal_p statistic n_concordant n_aPTT > antiXa n_aPTT < antiXa median_concordant median_aPTT > antiXa median_aPTT < antiXa IQR_concordant IQR_aPTT > antiXa IQR_aPTT < antiXa group1 group2 p.value
heparin_assay_quantitative 0.000 111.132 106 12 17 0.19 0.33 0.43 0.18 0.24 0.16 aPTT > antiXa concordant 0.008
heparin_assay_quantitative 0.000 111.132 106 12 17 0.19 0.33 0.43 0.18 0.24 0.16 aPTT < antiXa concordant 0.000
heparin_assay_quantitative 0.000 111.132 106 12 17 0.19 0.33 0.43 0.18 0.24 0.16 aPTT < antiXa aPTT > antiXa 0.000
activated_partial_thromboplastin_time 0.000 75.804 106 12 17 37.40 89.50 44.70 14.90 43.10 16.00 aPTT > antiXa concordant 0.000
activated_partial_thromboplastin_time 0.000 75.804 106 12 17 37.40 89.50 44.70 14.90 43.10 16.00 aPTT < antiXa concordant 0.000
activated_partial_thromboplastin_time 0.000 75.804 106 12 17 37.40 89.50 44.70 14.90 43.10 16.00 aPTT < antiXa aPTT > antiXa 0.000
international_normalization_ratio 0.000 29.635 106 12 17 1.10 1.30 1.20 0.20 0.45 0.30 aPTT > antiXa concordant 0.000
international_normalization_ratio 0.000 29.635 106 12 17 1.10 1.30 1.20 0.20 0.45 0.30 aPTT < antiXa concordant 0.053
international_normalization_ratio 0.000 29.635 106 12 17 1.10 1.30 1.20 0.20 0.45 0.30 aPTT < antiXa aPTT > antiXa 0.006
weight 0.000 28.745 106 12 17 88.50 75.50 100.00 29.60 8.40 17.90 aPTT > antiXa concordant 0.096
weight 0.000 28.745 106 12 17 88.50 75.50 100.00 29.60 8.40 17.90 aPTT < antiXa concordant 0.000
weight 0.000 28.745 106 12 17 88.50 75.50 100.00 29.60 8.40 17.90 aPTT < antiXa aPTT > antiXa 0.000
hours_ecmo 0.000 22.120 106 12 17 203.00 102.00 203.00 229.00 6.00 88.00 aPTT > antiXa concordant 0.000
hours_ecmo 0.000 22.120 106 12 17 203.00 102.00 203.00 229.00 6.00 88.00 aPTT < antiXa concordant 0.084
hours_ecmo 0.000 22.120 106 12 17 203.00 102.00 203.00 229.00 6.00 88.00 aPTT < antiXa aPTT > antiXa 0.000
fibrinogen 0.006 10.076 106 12 17 506.00 465.00 292.00 387.00 50.00 245.00 aPTT > antiXa concordant 0.404
fibrinogen 0.006 10.076 106 12 17 506.00 465.00 292.00 387.00 50.00 245.00 aPTT < antiXa concordant 0.007
fibrinogen 0.006 10.076 106 12 17 506.00 465.00 292.00 387.00 50.00 245.00 aPTT < antiXa aPTT > antiXa 0.075
height 0.048 6.084 106 12 17 170.20 175.30 173.00 15.20 12.90 17.80 aPTT > antiXa concordant 0.042
height 0.048 6.084 106 12 17 170.20 175.30 173.00 15.20 12.90 17.80 aPTT < antiXa concordant 0.702
height 0.048 6.084 106 12 17 170.20 175.30 173.00 15.20 12.90 17.80 aPTT < antiXa aPTT > antiXa 0.145
heparin_infusion_dose_value_units_kg_hr 0.075 5.182 106 12 17 9.00 9.00 9.00 7.00 8.50 6.00 aPTT > antiXa concordant 0.818
heparin_infusion_dose_value_units_kg_hr 0.075 5.182 106 12 17 9.00 9.00 9.00 7.00 8.50 6.00 aPTT < antiXa concordant 0.080
heparin_infusion_dose_value_units_kg_hr 0.075 5.182 106 12 17 9.00 9.00 9.00 7.00 8.50 6.00 aPTT < antiXa aPTT > antiXa 0.818
pump_flow24 0.115 4.329 106 12 17 3.20 3.50 3.40 0.70 0.30 0.70 aPTT > antiXa concordant 0.713
pump_flow24 0.115 4.329 106 12 17 3.20 3.50 3.40 0.70 0.30 0.70 aPTT < antiXa concordant 0.133
pump_flow24 0.115 4.329 106 12 17 3.20 3.50 3.40 0.70 0.30 0.70 aPTT < antiXa aPTT > antiXa 0.713
nearest_bilirubin 0.186 3.362 106 12 17 1.10 1.20 0.90 1.30 0.60 0.90 aPTT > antiXa concordant 0.230
nearest_bilirubin 0.186 3.362 106 12 17 1.10 1.20 0.90 1.30 0.60 0.90 aPTT < antiXa concordant 0.527
nearest_bilirubin 0.186 3.362 106 12 17 1.10 1.20 0.90 1.30 0.60 0.90 aPTT < antiXa aPTT > antiXa 0.047
age_years 0.570 1.123 106 12 17 58.00 57.00 51.00 22.00 25.00 23.00 aPTT > antiXa concordant 1.000
age_years 0.570 1.123 106 12 17 58.00 57.00 51.00 22.00 25.00 23.00 aPTT < antiXa concordant 0.842
age_years 0.570 1.123 106 12 17 58.00 57.00 51.00 22.00 25.00 23.00 aPTT < antiXa aPTT > antiXa 1.000
pump_flow4 0.780 0.496 106 12 17 3.10 3.10 3.15 0.70 0.10 0.80 aPTT > antiXa concordant 1.000
pump_flow4 0.780 0.496 106 12 17 3.10 3.10 3.15 0.70 0.10 0.80 aPTT < antiXa concordant 1.000
pump_flow4 0.780 0.496 106 12 17 3.10 3.10 3.15 0.70 0.10 0.80 aPTT < antiXa aPTT > antiXa 1.000
##        
##         concordant aPTT > antiXa aPTT < antiXa
##   ccu          284            12            44
##   cticu        198            12             5
##   micu          10             0             0
## 
##  Fisher's Exact Test for Count Data
## 
## data:  table_locations
## p-value = 0.0001257
## alternative hypothesis: two.sided
##            
##             concordant aPTT > antiXa aPTT < antiXa
##   Cardiac          385            20            48
##   ECPR              32             3             0
##   Pulmonary         80             2             1
## 
##  Fisher's Exact Test for Count Data
## 
## data:  table_support
## p-value = 0.002629
## alternative hypothesis: two.sided
##                mode
## unusual_type     VA  VV
##   concordant    354  46
##   aPTT > antiXa  22   2
##   aPTT < antiXa  40   1
## 
##  Fisher's Exact Test for Count Data
## 
## data:  .
## p-value = 0.1939
## alternative hypothesis: two.sided

Safety checks to ensure only including labs and complication that were measured between ECMO start and 7 days following ECMO STOP

# safety check to ensure only including labs that were measured after ecmo start or before 7 days following ECMO stop
model_fit_data %>%
  filter(lab_result_time < time_on | lab_result_time > complication_7day_assessment)
## # A tibble: 0 × 139
## # ℹ 139 variables: study_id <int>, mrn <chr>, patient_name <chr>,
## #   time_on <dttm>, time_off <dttm>, time_off_true <dttm>,
## #   complication_7day_assessment <dttm>, duration_to_lab <dbl>,
## #   patient_id <chr>, run_id <chr>, lab_result_time <dttm>,
## #   department_name <fct>, heparin_infusion_dose_value_units_kg_hr <dbl>,
## #   concordance_classic <fct>, concordance_low <fct>,
## #   concordance_classic_simple <fct>, concordance_low_simple <fct>, …
## check shows no data -> all is okay
#safety check to ensure only including complications that were measured after ecmo start or before 7 days following ECMO stop
model_fit_data %>%
  pivot_longer(
    death_date:ich_based_on_imaging_findings,
    names_to = "complication",
    values_to = "time_complication") %>% 
  filter(time_complication < time_on | time_complication > complication_7day_assessment)
## # A tibble: 0 × 98
## # ℹ 98 variables: study_id <int>, mrn <chr>, patient_name <chr>,
## #   time_on <dttm>, time_off <dttm>, time_off_true <dttm>,
## #   complication_7day_assessment <dttm>, duration_to_lab <dbl>,
## #   patient_id <chr>, run_id <chr>, lab_result_time <dttm>,
## #   department_name <fct>, heparin_infusion_dose_value_units_kg_hr <dbl>,
## #   concordance_classic <fct>, concordance_low <fct>,
## #   concordance_classic_simple <fct>, concordance_low_simple <fct>, …
## check shows no data -> all is okay

COMPLICATION ANALYSES

Complications are assessed only if they occur after a lab (discordance) result time and before 7 days after ECMO stop.

Created composite hemorrhagic and thrombotic outcomes, grouped as below.

Complication Composite Groupings

hemorrhage_any = Any Hemorrhagic Complication

  • neurologic_intra_extra_parenchymal_cns_hemorrhage_us_or_ct_or_mri

  • hemorrhagic_gi_hemorrhage

  • major_bleeding_perfusion

  • gi_bleeding_present_on_cta_and_confirmed_via_endoscopy***

  • ich_based_on_imaging_findings***

Not included in hemorrhage composite as unlikely to be biologically related to discordance:

  • hemorrhagic_peripheral_cannulation_site_bleeding

  • hemorrhagic_surgical_site_bleeding

  • hemorrhagic_mediastinal_cannulation_site_bleeding

  • pulmonary_pulmonary_hemorrhage


thrombosis_any = Thrombotic Complications * neurologic_cns_infarction_us_or_ct_or_mri

  • limb_ischemia

  • mechanical_thrombosis_clots_circuit_component

  • circuit_thrombosis_perfusion

  • dvt_pe_1_time_and_date***

  • ischemic_stroke_1_time_and_date***

  • acute_limb_ischemia_1_time_and_date***


not included in thrombosis composite as unlikely to be biologically related to discordance:

  • neurologic_cns_diffuse_ischemia_ct_mri

  • limb_fasciotomy

*** = complications as reviewed manually by Phil/Connie


Skipped as could violate causal time pathway between discordance -> complication

  • dvt_pe_2_time_and_date

  • dvt_pe_3_time_and_date

  • dvt_pe_4_time_and_date

  • acute_limb_ischemia_2_time_and_date

  • acute_limb_ischemia_3_time_and_date

  • ischemic_stroke_2_time_and_date

  • ischemic_stroke_3_time_and_date

1. unadjusted analysis - will not report

## # A tibble: 3 × 4
##   unusual_type      n hemorrhage_rate thrombosis_rate
##   <fct>         <int>           <dbl>           <dbl>
## 1 concordant      497            7.24            29.8
## 2 aPTT > antiXa    25            8               20  
## 3 aPTT < antiXa    49            0               24.5
## 
## Call:  glm(formula = hemorrhage_any ~ unusual_type, family = binomial, 
##     data = model_fit_complications)
## 
## Coefficients:
##               (Intercept)  unusual_typeaPTT > antiXa  
##                   -2.5499                     0.1075  
## unusual_typeaPTT < antiXa  
##                  -16.0162  
## 
## Degrees of Freedom: 570 Total (i.e. Null);  568 Residual
## Null Deviance:       279.4 
## Residual Deviance: 272.3     AIC: 278.3
## 
## Call:
## glm(formula = hemorrhage_any ~ unusual_type, family = binomial, 
##     data = model_fit_complications)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -0.4084  -0.3878  -0.3878  -0.3878   2.2913  
## 
## Coefficients:
##                           Estimate Std. Error z value Pr(>|z|)    
## (Intercept)                -2.5499     0.1731 -14.735   <2e-16 ***
## unusual_typeaPTT > antiXa   0.1075     0.7572   0.142    0.887    
## unusual_typeaPTT < antiXa -16.0162   931.8055  -0.017    0.986    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 279.36  on 570  degrees of freedom
## Residual deviance: 272.27  on 568  degrees of freedom
## AIC: 278.27
## 
## Number of Fisher Scoring iterations: 17
## 
## Call:  glm(formula = thrombosis_any ~ unusual_type, family = binomial, 
##     data = model_fit_complications)
## 
## Coefficients:
##               (Intercept)  unusual_typeaPTT > antiXa  
##                   -0.8579                    -0.5284  
## unusual_typeaPTT < antiXa  
##                   -0.2682  
## 
## Degrees of Freedom: 570 Total (i.e. Null);  568 Residual
## Null Deviance:       686.6 
## Residual Deviance: 684.9     AIC: 690.9
## 
## Call:
## glm(formula = thrombosis_any ~ unusual_type, family = binomial, 
##     data = model_fit_complications)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -0.8408  -0.8408  -0.8408   1.5565   1.7941  
## 
## Coefficients:
##                           Estimate Std. Error z value Pr(>|z|)    
## (Intercept)               -0.85786    0.09809  -8.745   <2e-16 ***
## unusual_typeaPTT > antiXa -0.52843    0.50953  -1.037    0.300    
## unusual_typeaPTT < antiXa -0.26815    0.34638  -0.774    0.439    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 686.6  on 570  degrees of freedom
## Residual deviance: 684.9  on 568  degrees of freedom
## AIC: 690.9
## 
## Number of Fisher Scoring iterations: 4

2. adjusted analysis = PRIMARY OUTCOME RESULT

Variables which would be important to adjust for based on opinion / intentional selection:

Variables which specifically were not incorporated into the model as they were not between-group significant or had other good reasons:

## 
## Call:
## glm(formula = hemorrhage_any ~ unusual_type + duration_to_lab + 
##     international_normalization_ratio + fibrinogen + nearest_bilirubin + 
##     weight + heparin_infusion_dose_value_units_kg_hr, family = binomial, 
##     data = model_fit_complications)
## 
## Deviance Residuals: 
##      Min        1Q    Median        3Q       Max  
## -0.95341  -0.35474  -0.18971  -0.06547   3.04070  
## 
## Coefficients:
##                                           Estimate Std. Error z value Pr(>|z|)
## (Intercept)                              3.272e-01  2.850e+00   0.115  0.90860
## unusual_typeaPTT > antiXa               -1.855e+01  4.765e+03  -0.004  0.99689
## unusual_typeaPTT < antiXa               -1.714e+01  2.176e+03  -0.008  0.99372
## duration_to_lab                         -1.630e-03  4.079e-03  -0.399  0.68954
## international_normalization_ratio        1.760e+00  2.002e+00   0.879  0.37929
## fibrinogen                              -4.754e-04  1.829e-03  -0.260  0.79491
## nearest_bilirubin                       -5.431e-01  4.820e-01  -1.127  0.25984
## weight                                  -6.632e-02  2.149e-02  -3.086  0.00203
## heparin_infusion_dose_value_units_kg_hr  1.866e-01  9.282e-02   2.010  0.04443
##                                           
## (Intercept)                               
## unusual_typeaPTT > antiXa                 
## unusual_typeaPTT < antiXa                 
## duration_to_lab                           
## international_normalization_ratio         
## fibrinogen                                
## nearest_bilirubin                         
## weight                                  **
## heparin_infusion_dose_value_units_kg_hr * 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 86.459  on 167  degrees of freedom
## Residual deviance: 58.872  on 159  degrees of freedom
##   (403 observations deleted due to missingness)
## AIC: 76.872
## 
## Number of Fisher Scoring iterations: 18
## # A tibble: 9 × 8
##   term                        OR conf.low conf.high   p_raw  p_fdr p_holm p_bonf
##   <chr>                    <dbl>    <dbl>     <dbl>   <dbl>  <dbl>  <dbl>  <dbl>
## 1 (Intercept)            1.39e+0  0.00715 9.83e+  2 0.909   0.997  1      1     
## 2 unusual_typeaPTT > an… 8.82e-9 NA       8.25e+111 0.997   0.997  1      1     
## 3 unusual_typeaPTT < an… 3.61e-8 NA       6.56e+ 98 0.994   0.997  1      1     
## 4 duration_to_lab        9.98e-1  0.990   1.01e+  0 0.690   0.997  1      1     
## 5 international_normali… 5.81e+0  0.0320  2.06e+  2 0.379   0.853  1      1     
## 6 fibrinogen             1.00e+0  0.996   1.00e+  0 0.795   0.997  1      1     
## 7 nearest_bilirubin      5.81e-1  0.176   1.15e+  0 0.260   0.780  1      1     
## 8 weight                 9.36e-1  0.892   9.73e-  1 0.00203 0.0183 0.0183 0.0183
## 9 heparin_infusion_dose… 1.21e+0  1.02    1.47e+  0 0.0444  0.200  0.355  0.400
## [1] TRUE
##                
##                 FALSE TRUE
##   concordant      461   36
##   aPTT > antiXa    23    2
##   aPTT < antiXa    49    0

Hemorrhage Firth Penalized Regression Results
term estimate OR conf.low conf.high p_raw p_fdr p_holm p_bonf
(Intercept) -0.3433193 0.7094117 0.0076576 174.5594215 0.8833867 0.8833867 1.0000000 1.0000000
unusual_typeaPTT > antiXa -1.4025594 0.2459666 0.0016277 3.7119763 0.3459936 0.5724862 1.0000000 1.0000000
unusual_typeaPTT < antiXa -1.5308883 0.2163434 0.0015229 2.5968161 0.2605913 0.5724862 1.0000000 1.0000000
duration_to_lab -0.0013108 0.9986901 0.9910301 1.0061299 0.7191129 0.8679572 1.0000000 1.0000000
international_normalization_ratio 1.7887981 5.9822578 0.0880061 93.4958176 0.2778252 0.5724862 1.0000000 1.0000000
fibrinogen -0.0004927 0.9995075 0.9960290 1.0028742 0.7715176 0.8679572 1.0000000 1.0000000
nearest_bilirubin -0.2813193 0.7547873 0.2539487 1.2542681 0.3816575 0.5724862 1.0000000 1.0000000
weight -0.0559555 0.9455812 0.9067682 0.9786838 0.0011382 0.0102441 0.0102441 0.0102441
heparin_infusion_dose_value_units_kg_hr 0.1550819 1.1677536 1.0008041 1.3989759 0.0487685 0.2194585 0.3901484 0.4389169
## 
## Call:
## glm(formula = thrombosis_any ~ unusual_type + duration_to_lab + 
##     international_normalization_ratio + fibrinogen + nearest_bilirubin + 
##     weight + heparin_infusion_dose_value_units_kg_hr, family = binomial, 
##     data = model_fit_complications)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -2.2838  -0.8052  -0.4360   0.9466   2.3720  
## 
## Coefficients:
##                                           Estimate Std. Error z value Pr(>|z|)
## (Intercept)                              7.923e-01  1.905e+00   0.416 0.677504
## unusual_typeaPTT > antiXa               -1.491e+01  1.057e+03  -0.014 0.988744
## unusual_typeaPTT < antiXa                1.535e+00  5.958e-01   2.576 0.009999
## duration_to_lab                         -7.948e-03  3.555e-03  -2.236 0.025352
## international_normalization_ratio       -9.588e-01  1.277e+00  -0.751 0.452690
## fibrinogen                              -9.503e-04  9.149e-04  -1.039 0.298985
## nearest_bilirubin                        6.320e-02  1.291e-01   0.490 0.624394
## weight                                   2.538e-02  1.020e-02   2.487 0.012881
## heparin_infusion_dose_value_units_kg_hr -2.111e-01  6.172e-02  -3.421 0.000625
##                                            
## (Intercept)                                
## unusual_typeaPTT > antiXa                  
## unusual_typeaPTT < antiXa               ** 
## duration_to_lab                         *  
## international_normalization_ratio          
## fibrinogen                                 
## nearest_bilirubin                          
## weight                                  *  
## heparin_infusion_dose_value_units_kg_hr ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 202.82  on 167  degrees of freedom
## Residual deviance: 161.90  on 159  degrees of freedom
##   (403 observations deleted due to missingness)
## AIC: 179.9
## 
## Number of Fisher Scoring iterations: 15
## # A tibble: 9 × 8
##   term                     OR conf.low conf.high   p_raw   p_fdr  p_holm  p_bonf
##   <chr>                 <dbl>    <dbl>     <dbl>   <dbl>   <dbl>   <dbl>   <dbl>
## 1 (Intercept)         2.21e+0   0.0589  1.25e+ 2 6.78e-1 0.762   1       1      
## 2 unusual_typeaPTT >… 3.34e-7  NA       3.86e+40 9.89e-1 0.989   1       1      
## 3 unusual_typeaPTT <… 4.64e+0   1.48    1.58e+ 1 1.00e-2 0.0386  0.0800  0.0900 
## 4 duration_to_lab     9.92e-1   0.985   9.99e- 1 2.54e-2 0.0570  0.152   0.228  
## 5 international_norm… 3.83e-1   0.0222  4.07e+ 0 4.53e-1 0.679   1       1      
## 6 fibrinogen          9.99e-1   0.997   1.00e+ 0 2.99e-1 0.538   1       1      
## 7 nearest_bilirubin   1.07e+0   0.809   1.36e+ 0 6.24e-1 0.762   1       1      
## 8 weight              1.03e+0   1.01    1.05e+ 0 1.29e-2 0.0386  0.0902  0.116  
## 9 heparin_infusion_d… 8.10e-1   0.712   9.08e- 1 6.25e-4 0.00562 0.00562 0.00562
## [1] TRUE
##                
##                 FALSE TRUE
##   concordant      349  148
##   aPTT > antiXa    20    5
##   aPTT < antiXa    37   12

Thrombosis Firth Penalized Regression Results
term estimate OR conf.low conf.high p_raw p_fdr p_holm p_bonf
(Intercept) 0.5711221 1.7702523 0.0636170 78.0228078 0.7395729 0.7395729 1.0000000 1.0000000
unusual_typeaPTT > antiXa -0.9044852 0.4047502 0.0028646 4.8988140 0.5295111 0.6458176 1.0000000 1.0000000
unusual_typeaPTT < antiXa 1.4142557 4.1134236 1.3896933 13.1030905 0.0105315 0.0315946 0.0737208 0.0947839
duration_to_lab -0.0073136 0.9927131 0.9857088 0.9990152 0.0225682 0.0507784 0.1354091 0.2031137
international_normalization_ratio -0.7172546 0.4880904 0.0344035 3.9240558 0.5050279 0.6458176 1.0000000 1.0000000
fibrinogen -0.0009463 0.9990542 0.9973141 1.0007867 0.2826555 0.5087799 1.0000000 1.0000000
nearest_bilirubin 0.0690156 1.0714529 0.8252018 1.3400198 0.5740601 0.6458176 1.0000000 1.0000000
weight 0.0228787 1.0231424 1.0057828 1.0452472 0.0070683 0.0315946 0.0565466 0.0636149
heparin_infusion_dose_value_units_kg_hr -0.1930360 0.8244523 0.7286367 0.9196479 0.0003226 0.0029033 0.0029033 0.0029033

Standard logistic regression had high separation based on discordance type, likely due to uncommon outcome among a relatively small sample size with several critical covariables. Thus, Firth penalized logistic regression used to compute odds ratios and p-values.

3. Cox proportional hazard regression, which will account for immortal time bias potentially

Follow-up (days) and events by first discordance type
first_discord_type n_patients throm_events bleed_events median_throm_fu iqr_throm_fu median_bleed_fu iqr_bleed_fu
concordant 85 37 5 10.12 6.63 12.07 5.36
aPTT < antiXa 17 4 0 13.02 6.79 13.99 4.17
aPTT > antiXa 11 3 2 11.28 4.35 11.42 4.47

## 
## ### Thrombosis follow-up by discordance group (days)
Follow-up (days) for thrombosis by discordance group
first_discord_type n n_events min_days median_days iqr_days max_days
concordant 85 37 0.32 10.12 6.63 35.13
aPTT < antiXa 17 4 3.71 13.02 6.79 21.81
aPTT > antiXa 11 3 2.10 11.28 4.35 24.45
## 
## ### Hemorrhage follow-up by discordance group (days)
Follow-up (days) for hemorrhage by discordance group
first_discord_type n n_events min_days median_days iqr_days max_days
concordant 85 5 0.95 12.07 5.36 45.00
aPTT < antiXa 17 0 7.85 13.99 4.17 21.81
aPTT > antiXa 11 2 4.03 11.42 4.47 24.45
## Warning in agreg.fit(X, Y, istrat, offset, init, control, weights = weights, :
## Loglik converged before variable 1,2 ; beta may be infinite.
Hemorrhage Hazard Ratios, Adjusted
term HR conf.low conf.high p_raw p_fdr p_holm p_bonf
discord_groupaPTT < antiXa 0.0000000 0.0000000 Inf 0.9994307 0.9996375 1 1
discord_groupaPTT > antiXa 0.0000000 0.0000000 Inf 0.9996375 0.9996375 1 1
international_normalization_ratio 3.4980108 0.0301047 406.450973 0.6057755 0.9996375 1 1
fibrinogen 1.0007928 0.9927555 1.008895 0.8472436 0.9996375 1 1
nearest_bilirubin 0.7193910 0.1522141 3.399971 0.6776842 0.9996375 1 1
weight 0.9946069 0.9507747 1.040460 0.8140833 0.9996375 1 1
heparin_infusion_dose_value_units_kg_hr 0.8989018 0.6040018 1.337785 0.5993073 0.9996375 1 1
## Warning in agreg.fit(X, Y, istrat, offset, init, control, weights = weights, :
## Loglik converged before variable 2 ; beta may be infinite.
Thrombosis Hazard Ratios, Adjusted
term HR conf.low conf.high p_raw p_fdr p_holm p_bonf
discord_groupaPTT < antiXa 3.7395981 0.7044141 19.852803 0.1214825 0.8503777 0.8503777 0.8503777
discord_groupaPTT > antiXa 0.0000000 0.0000000 Inf 0.9987796 0.9987796 1.0000000 1.0000000
international_normalization_ratio 0.3468166 0.0063948 18.809301 0.6032381 0.9987796 1.0000000 1.0000000
fibrinogen 1.0005290 0.9958734 1.005206 0.8241215 0.9987796 1.0000000 1.0000000
nearest_bilirubin 1.3496789 0.7470154 2.438548 0.3204361 0.9987796 1.0000000 1.0000000
weight 0.9907330 0.9651273 1.017018 0.4858824 0.9987796 1.0000000 1.0000000
heparin_infusion_dose_value_units_kg_hr 1.0169592 0.8198471 1.261462 0.8784124 0.9987796 1.0000000 1.0000000
## 
## ### Hazard ratios — Bleeding (adjusted)
Term HR CI_low CI_high HR (95% CI) p p (FDR)
discord_groupaPTT < antiXa 0.00 0.00 Inf 0.00 (0.00–Inf) 0.999 1
discord_groupaPTT > antiXa 0.00 0.00 Inf 0.00 (0.00–Inf) 1.000 1
fibrinogen 1.00 0.99 1.01 1.00 (0.99–1.01) 0.847 1
heparin_infusion_dose_value_units_kg_hr 0.90 0.60 1.34 0.90 (0.60–1.34) 0.599 1
international_normalization_ratio 3.50 0.03 406.45 3.50 (0.03–406.45) 0.606 1
nearest_bilirubin 0.72 0.15 3.40 0.72 (0.15–3.40) 0.678 1
weight 0.99 0.95 1.04 0.99 (0.95–1.04) 0.814 1
## 
## 
## ### Hazard ratios — Thrombosis (adjusted)
Term HR CI_low CI_high HR (95% CI) p p (FDR)
discord_groupaPTT < antiXa 3.74 0.70 19.85 3.74 (0.70–19.85) 0.121 0.850
discord_groupaPTT > antiXa 0.00 0.00 Inf 0.00 (0.00–Inf) 0.999 0.999
fibrinogen 1.00 1.00 1.01 1.00 (1.00–1.01) 0.824 0.999
heparin_infusion_dose_value_units_kg_hr 1.02 0.82 1.26 1.02 (0.82–1.26) 0.878 0.999
international_normalization_ratio 0.35 0.01 18.81 0.35 (0.01–18.81) 0.603 0.999
nearest_bilirubin 1.35 0.75 2.44 1.35 (0.75–2.44) 0.320 0.999
weight 0.99 0.97 1.02 0.99 (0.97–1.02) 0.486 0.999

Patients who had discordant labs but all of those labs were after clot/bleed or after censoring appear:

Diagnostics for survival analysis for discordance / event timing & PH checks

## ### Summary counts (ever-discordant vs never)
total n_ever_discord n_never_discord clot_events_among_ever clot_events_among_never
113 28 85 7 37
## 
## ### Events before vs after first discordance (counts)
n_patients n_events_total events_before_first_discord events_after_first_discord events_in_never_discord
65 44 0 7 37
## 
## ### Events and person-time by discord_group in tv_thrombosis
discord_group n_intervals n_events total_time_days
concordant 113 37 997.6623
aPTT < antiXa 17 4 149.6153
aPTT > antiXa 11 3 108.2854
## 
## ### Kaplan–Meier (patient-level) by ever_discordant — summary:
## Call: survfit(formula = Surv(time_to_clot, event_clot) ~ ever_discord, 
##     data = pl_surv)
## 
##                 ever_discord=ever_discordant 
##  time n.risk n.event survival std.err lower 95% CI upper 95% CI
##  2.10     28       1    0.964  0.0351        0.898        1.000
##  3.71     27       1    0.929  0.0487        0.838        1.000
##  5.52     26       1    0.893  0.0585        0.785        1.000
##  8.21     24       1    0.856  0.0668        0.734        0.997
##  8.65     23       1    0.818  0.0735        0.686        0.976
##  8.66     22       1    0.781  0.0790        0.641        0.953
##  9.25     21       1    0.744  0.0836        0.597        0.927
## 
##                 ever_discord=never_discordant 
##    time n.risk n.event survival std.err lower 95% CI upper 95% CI
##   0.315     85       1    0.988  0.0117        0.966        1.000
##   1.242     84       1    0.976  0.0164        0.945        1.000
##   1.515     83       1    0.965  0.0200        0.926        1.000
##   1.526     82       1    0.953  0.0230        0.909        0.999
##   1.802     81       1    0.941  0.0255        0.892        0.993
##   2.528     80       1    0.929  0.0278        0.877        0.985
##   2.558     79       1    0.918  0.0298        0.861        0.978
##   2.681     78       1    0.906  0.0317        0.846        0.970
##   2.742     77       1    0.894  0.0334        0.831        0.962
##   2.797     76       1    0.882  0.0349        0.816        0.954
##   2.805     75       2    0.859  0.0378        0.788        0.936
##   2.898     73       1    0.847  0.0390        0.774        0.927
##   3.429     72       1    0.835  0.0402        0.760        0.918
##   3.935     71       1    0.824  0.0413        0.746        0.909
##   4.146     70       1    0.812  0.0424        0.733        0.899
##   4.279     69       1    0.800  0.0434        0.719        0.890
##   4.885     68       1    0.788  0.0443        0.706        0.880
##   4.914     67       1    0.776  0.0452        0.693        0.870
##   4.914     66       1    0.765  0.0460        0.680        0.860
##   5.660     65       1    0.753  0.0468        0.667        0.850
##   6.901     64       1    0.741  0.0475        0.654        0.840
##   6.933     63       1    0.729  0.0482        0.641        0.830
##   7.683     61       1    0.717  0.0489        0.628        0.820
##   7.685     60       1    0.705  0.0495        0.615        0.809
##   7.802     59       1    0.694  0.0501        0.602        0.799
##   7.963     58       1    0.682  0.0506        0.589        0.788
##   8.647     54       1    0.669  0.0512        0.576        0.777
##   9.463     48       1    0.655  0.0520        0.561        0.765
##  10.090     44       1    0.640  0.0529        0.544        0.753
##  10.871     38       1    0.623  0.0541        0.526        0.739
##  11.863     28       1    0.601  0.0566        0.500        0.723
##  13.624     21       1    0.572  0.0607        0.465        0.705
##  14.181     17       1    0.539  0.0658        0.424        0.685
##  14.565     15       1    0.503  0.0706        0.382        0.662
##  22.174      7       1    0.431  0.0899        0.286        0.649
##  30.098      3       1    0.287  0.1317        0.117        0.706

## 
## ### Patients with clot before their first discordance (if any):
## None
## 
## ### Interval-level events in tv_thrombosis:
discord_group n_intervals events
aPTT < antiXa 17 4
aPTT > antiXa 11 3
concordant 113 37
## 
## 
## --- Quick interpretation guide ---
## 1) If many clot events occur BEFORE first_discord_time, the time-varying Cox will not attribute those events to the discordant state.
## 2) If interval-level table (above) shows most events in 'concordant' intervals, that explains why Cox HR for discordance may be null or inverse.
## 3) With small total events, both logistic (ever vs never) and Cox can be unstable; check counts above.

Comments on discrepancy between logistic and survival analyses

  • Logistic regression treats discordance as fixed (ever vs never) or at first discordance. Cox regression treats it as time-varying, so:

– If a patient is discordant late, their earlier follow-up counts as “non-exposed” in Cox.

– Logistic regression collapses all follow-up into a single binary exposure.

– Even with post-discordance events only, this leads to different denominators and risk attribution.

4. Tertiary outcomes, i.e. those which may not be solely thrombotic or hemorrhagic, but might be associated with discordance - for publication

Note: composited renal failure types into renal_failure_any

## # A tibble: 6 × 2
## # Groups:   complication [6]
##   complication                                 n
##   <chr>                                    <int>
## 1 death_date                                   4
## 2 major_hemolysis_perfusion                    1
## 3 mechanical_circuit_change                    3
## 4 renal_creatinine_1_5_3_0                     4
## 5 renal_creatinine_3_0                         6
## 6 renal_renal_replacement_therapy_required     3
## # A tibble: 3 × 8
##   term                OR  conf.low conf.high    p_raw    p_fdr   p_holm   p_bonf
##   <chr>            <dbl>     <dbl>     <dbl>    <dbl>    <dbl>    <dbl>    <dbl>
## 1 (Intercept)    1.09e-1 8.04e-  2   1.45e-1 5.78e-49 1.73e-48 1.73e-48 1.73e-48
## 2 unusual_typea… 1.25e+0 2.88e-  1   3.77e+0 7.28e- 1 9.86e- 1 1   e+ 0 1   e+ 0
## 3 unusual_typea… 7.91e-8 1.05e-157   1.48e+7 9.86e- 1 9.86e- 1 1   e+ 0 1   e+ 0
Death outcome, multivariable adjusted logistic
term OR conf.low conf.high p_raw p_fdr p_holm p_bonf
(Intercept) 2.990314e+22 2.130143e+09 3.222095e+53 0.0215302 0.0968861 0.1924164 0.1937722
unusual_typeaPTT > antiXa 2.176270e+08 NA Inf 0.9987957 0.9991300 1.0000000 1.0000000
unusual_typeaPTT < antiXa 2.916260e-02 NA 1.283111e+119 0.9991300 0.9991300 1.0000000 1.0000000
duration_to_lab 1.039519e+00 1.005664e+00 1.131491e+00 0.1438863 0.2158295 0.5755453 1.0000000
international_normalization_ratio 0.000000e+00 0.000000e+00 1.790000e-05 0.0213796 0.0968861 0.1924164 0.1924164
fibrinogen 1.007144e+00 9.901896e-01 1.033750e+00 0.4558494 0.5860921 1.0000000 1.0000000
nearest_bilirubin 2.191107e-01 1.393990e-02 9.898349e-01 0.1129537 0.2033166 0.5647683 1.0000000
weight 8.528896e-01 6.663353e-01 9.560603e-01 0.0480300 0.1440900 0.3362099 0.4322699
heparin_infusion_dose_value_units_kg_hr 3.029280e-02 3.350000e-05 2.754372e-01 0.0817479 0.1839327 0.4904872 0.7357308
## 
## Call:
## glm(formula = renal_failure_any ~ unusual_type, family = binomial, 
##     data = renal_failure_df)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -0.3078  -0.3078  -0.3078  -0.3078   2.5373  
## 
## Coefficients:
##                           Estimate Std. Error z value Pr(>|z|)    
## (Intercept)                -3.0257     0.2135 -14.171   <2e-16 ***
## unusual_typeaPTT > antiXa  -0.1523     1.0427  -0.146    0.884    
## unusual_typeaPTT < antiXa -15.5404   931.8055  -0.017    0.987    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 199.10  on 570  degrees of freedom
## Residual deviance: 194.68  on 568  degrees of freedom
## AIC: 200.68
## 
## Number of Fisher Scoring iterations: 17
Renal Failure Odds Ratios, Adjusted
term OR conf.low conf.high p_raw p_fdr p_holm p_bonf
(Intercept) 0.0868483 0.0001755 2.439515e+02 0.4467612 0.6701418 1.0000000 1.0000000
unusual_typeaPTT > antiXa 0.0000001 NA 3.569457e+178 0.9971348 0.9971348 1.0000000 1.0000000
unusual_typeaPTT < antiXa 0.0000001 NA 4.951939e+76 0.9938577 0.9971348 1.0000000 1.0000000
duration_to_lab 0.9610411 0.9169873 9.905843e-01 0.0399942 0.3599475 0.3599475 0.3599475
international_normalization_ratio 1.9594313 0.0047959 1.932384e+02 0.7706663 0.9908567 1.0000000 1.0000000
fibrinogen 1.0024116 0.9977341 1.007428e+00 0.3144818 0.6701418 1.0000000 1.0000000
nearest_bilirubin 0.6404395 0.1252000 1.446154e+00 0.4285536 0.6701418 1.0000000 1.0000000
weight 1.0298018 0.9824032 1.078525e+00 0.1773894 0.5321682 1.0000000 1.0000000
heparin_infusion_dose_value_units_kg_hr 0.7581412 0.5077302 1.064532e+00 0.1309924 0.5321682 1.0000000 1.0000000

Ultimately there are very few of these outcomes (except renal failure and death).

CONCLUSIONS